/* Copyright (c) 2004-2024 Peigen.info. All rights reserved. */

package info.peigen.hotpot.component.gateway.dianlan.protocol.passive;

import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import lombok.experimental.FieldDefaults;
import lombok.experimental.SuperBuilder;

/**
 * <b>(DianlanBatteryHighTemperatureBoxDataGram)</b>
 * <p>
 * 电池严重高温箱体号报文
 * <pre>
 * 位置       参数定义                            参数说明                                备注
 * 1        电池严重高温箱体号                    0：无高温，1~254：高温箱体号，其它无效     0xFF无效
 * 3.4-2.1  电池温度探针总数                      12bit，1/bit，偏移量：0                 0xFFF无效
 * 4.8-3.5  电池单体总数(外部N并，单并串数乘以N)    12bit，1/bit，偏移量：0                   0xFFF无效
 * 5        电池容量SOH                         8bit，0.4%/bit，偏移量：0，范围：0~100%
 * 6-8      累积充电电量	                       24bit；分辨率：1kWh/bit；范围：0 to 1000万kWh；	外接充电累积充电电量
 * </pre>
 *
 * @author LiDaHai
 * @version 1.0.0
 * @since 2023/1/12
 */
@SuperBuilder
@Data
@NoArgsConstructor
@AllArgsConstructor
@FieldDefaults(level = AccessLevel.PRIVATE)
@Accessors(chain = true)
public class DianlanBatteryHighTemperatureBoxDataGram {
    /** 电池严重高温箱体号,0：无高温，1~254：高温箱体号，其它无效 */
    String  highestTemperatureBoxNo;
    /** 电池温度探针总数 */
    Integer temperatureProbesCount;
    /** 电池单体总数 */
    Integer monomersCount;
    /** 电池容量SOH 健康度 */
    Double  capacitySOH;
    /** 累积充电电量（kWh） */
    Integer totalDegrees;

    public String toString() {
        return "电池严重高温箱体号：" + highestTemperatureBoxNo + "，" +
                "电池温度探针总数：" + temperatureProbesCount + "，" +
                "电池单体总数：" + monomersCount + "，" +
                "电池容量SOH 健康度：" + capacitySOH + "，" +
                "累积充电电量：" + totalDegrees + "kWh";
    }
}